<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    var arr = [1, 2, 3, 4, 5]
		var  arr2=[
			{id:1,name:'jack',age:18},
			{id:2,name:'rose',age:19},
			{id:3,name:'lucy',age:16},
			{id:4,name:'jack',age:17},
			]
		var  obj={id:11,name:'asan'}
			/* 0-forEach */
			/* 1-for */
			/* 2-for  of */
		// for(var  value  of arr2){
		// 	console.log(value,888);
		// }
		/* 3-for in
		- 循环数组跟for循环一样
		- 循环对象 获取的是键 
		 */
		// for(var i  in   arr2){  //  i 是索引
		// 	console.log(arr2[i],888);//  1,2,3,4,5
		// }

		// for(var k  in  obj){
		// 	console.log(obj[k],777);11 ,  asan
		// }
		/* 4- Object.keys*/  //  获取对象中的属性名 返回一个新的数组中
		// var newArr=Object.keys(obj)
		// console.log(newArr,6); //   ["id", "name"]

		/* 5-filter
		1-有返回值
		2-返回满足条件的到一个新数组中
		 */
		// var newArr5=arr.filter(item=>{
		// 	return item==2
		// })

		// var newArr5=arr2.filter(item=>{
		// 	return item.name=='jack'
		// })
		// console.log(newArr5,555);

		/* 6-map */
		// var newArr6=arr.map(item=>{
		// 	//return item==1 //  [true,false,false,false,false]
		// 	//  return 2  [2,2,2,2,2]
		// 	if(item==2){
		// 		return 3  //  [undefined, 3, undefined, undefined, undefined]
		// 	}

		// })
		// var newArr6=arr2.map(item=>{
		// 	//return item  //  跟原始数组一样
		// 	// if(item.name=='jack'){
		// 	// 	return  {
		// 	// 		name:'jack22222'  //  可以做条件替换
		// 	// 	}
		// 	// }
		// 	//return  item.name
		// 	return {
		// 		id:item.id,
		// 		name:item.name
		// 	}
		// })
		// console.log(newArr6,555);

		/* 7- reduce*/
		// var newArr7=arr.reduce((total,num)=>{
		// 	return total+num
		// },0) //  0===定义total的初始值   num  ===数组的每一项
		// console.log(newArr7,777);
		/* 8-findIndex===返回的是满足条件的索引,满足条件会立马终止 */
		// var  newArr8=arr.findIndex(item=>{
		// 	return item===5
		// })
		// console.log(newArr8,8888);
		/* 9-some  返回一个布尔值  满足条件会立马终止*/
		// var  newArr9=arr.some(item=>{
		// 	//return item==1
		// 	//return true  //  true
		// 	//return 22  //  true
		// 	return '' //  false
		// })
		// var  newArr9=arr2.some(item=>{
		// 	return item.id==2
		// })
		// console.log(newArr9,999);
		/* 1-=find  返回满足条件的哪一项  满足条件会立马终止*/
		// var newArr10=arr2.find(item=>{
		// 	//return item.name=='jack'  //  {id:1,name:'jack',age:18},
		// 	//return item.name==''  //  undefined
		// })
		// console.log(newArr10,1111);
		/* 11-includes */
		var  flag11=arr.includes(11)
		console.log(flag11,1111);

  </script>
</body>

</html>
